Syntax

Functions

History of functions.

Definition set of ordered pairs such that the first elements occurs at most once.

$$ \set{(x,y)} $$

Multiple return values are natural, see the division algorithm. Nearly all programming language support multiple input value, some also multiple return values. Both are not strictly more expressive. Multiple return values can be implemented using tuples. Multiple inputs using currying.

Lambda calculus

Representation

Tree based syntax for proof system:

https://github.com/digama0/mm0/blob/master/mm0.md

Graphs as more fundamental

https://tiarkrompf.github.io/notes/?/graph-ir/

https://www.reddit.com/r/ProgrammingLanguages/comments/l0m5fn/graph_irs_for_expressive_languages_taming/

Coq's extensible syntax

https://coq.inria.fr/refman/user-extensions/syntax-extensions.html#

Remco Bloemen
Math & Engineering
https://2π.com